package com.shortlink.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shortlink.server.dao.entity.ShortLinkMapperDO;
import com.shortlink.server.dto.shortlinkmapper.ShortLinkMapperInsertReqDTO;
import com.shortlink.server.dto.shortlinkmapper.ShortLinkMapperUpdateReqDTO;
import com.shortlink.server.dto.shortlinkmapper.ShortLinkReqDTO;

import java.util.List;

/**
 * 短链接映射接口层
 *
 * @author wp
 */
public interface ShortLinkMapperService extends IService<ShortLinkMapperDO> {
    /**
     * 插入
     */
    void signalInsert(ShortLinkMapperInsertReqDTO shortLinkMapperInsert);

    /**
     * 批量插入
     */
    void batchInsert(List<ShortLinkMapperInsertReqDTO> shortLinkMapperInserts);

    /**
     * 更新短链接有效期
     */
    void updateByShortUri(ShortLinkMapperUpdateReqDTO shortLinkMapperUpdate);

    /**
     * 移入回收站
     */
    void moveToRecycleBin(Long id);

    /**
     * 回收站恢复短链接
     */
    void recover(Long id);

    /**
     * 获取原链
     */
    String getOriginByShortLink(ShortLinkReqDTO shortLinkReq);
}
